﻿//using dz.inner.jky.api.service;
//using dz.u9.jky.schema.Common;
//using dz.u9.jky.schema.SM;
//using System;
//using System.Collections.Generic;
//using System.Web.Http;
//using UFIDA.U9.SPR.SalePriceAdjustment;
//using UFSoft.UBF.PL.Engine.Cache;

//namespace dz.inner.jky.api
//{
//    /// <summary>
//    /// 销售价格调整
//    /// </summary>
//    public class DzSalePriceAdjustController : DzBaseController
//    {
//        SalePriceAdjustService service = new SalePriceAdjustService();

//        /// <summary>
//        /// 新增
//        /// </summary>
//        /// <param name="dto"></param>
//        /// <returns></returns>
//        [HttpPost]
//        public U9CResult Add(DzSalePriceAdjustmentDTO dto)
//        {
//            return service.Add(dto);
//        }

//        /// <summary>
//        /// 提交
//        /// </summary>
//        /// <param name="doc"></param>
//        /// <returns></returns>
//        [HttpPost]
//        public U9CResult Submit(CommonDoc doc)
//        {
//            U9CResult result = ToU9CResult(doc);

//            return util.U9Invoke(service.Submit, doc, result);
//        }

//        /// <summary>
//        /// 审核
//        /// </summary>
//        /// <param name="doc"></param>
//        /// <returns></returns>
//        [HttpPost]
//        public U9CResult Audit(CommonDoc doc)
//        {
//            U9CResult result = ToU9CResult(doc);

//            return util.U9Invoke(service.Audit, doc, result);
//        }

//        /// <summary>
//        /// 提交并审核
//        /// </summary>
//        /// <param name="doc"></param>
//        /// <returns></returns>
//        [HttpPost]
//        public U9CResult SubmitAndAudit(CommonDoc doc)
//        {
//            U9CResult result = ToU9CResult(doc);

//            List<Action> actions = new List<Action>
//            {
//                () => service.Submit(doc),
//                () => service.Audit(doc)
//            };

//            // 调用基类方法按顺序执行操作队列
//            return util.U9Invoke(actions, result);
//        }

//        /// <summary>
//        /// 新增并审核
//        /// </summary>
//        /// <param name="dto"></param>
//        /// <returns></returns>
//        [HttpPost]
//        public U9CResult AddAndAudit(DzSalePriceAdjustmentDTO dto)
//        {
//            //List<Action<CommonDoc>> action = new List<Action<CommonDoc>>() { service.Submit, service.Audit };

//            //return util.U9Invoke(service.Add, action, ToCommonDoc, dto);

//            U9CResult result = service.Add(dto);

//            if(! result.IsSuccess) return result;

//            CommonDoc doc = ToCommonDoc(result);

//            PLCacheManager.DataCache.FlushCache();
//            PLCacheManager.ObjectCache.FlushCache();

//            List<Action> actions = new List<Action>
//            {
//                () => service.Submit(doc),
//                () => service.Audit(doc)
//            };

//            // 调用基类方法按顺序执行操作队列
//            return util.U9Invoke(actions, result);

            
//        }

//        protected override long GetId(string code)
//        {
//            return  SalePriceAdjustment.Finder.Find($"DocNo = '{code}'").ID;
//        }
//    }
//}
